
//633.平方数之和
class Solution {
public:
    bool judgeSquareSum(int c) {
        int left=0,right=sqrt(c);  //right一定是小于等于c的算数平方根的
                                    //所以确定左右边界，通过左右两边的平方和确定区间的移动
        while(left<=right)
        {
            long long the=left*left;  
            long long other=right*right;
            if(the+other==c) return true;
            else if(the+other>c) right--;
            else left++;
        }
        return false;
    }
};